home *** CD-ROM | disk | FTP | other *** search
- /*
- * $XConsortium: XIMproto.h,v 1.4 91/06/05 08:24:13 rws Exp $
- */
-
- /*
- * Copyright 1990, 1991 by OMRON Corporation
- * Copyright 1991 by the Massachusetts Institute of Technology
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the names of OMRON and MIT not be used in
- * advertising or publicity pertaining to distribution of the software without
- * specific, written prior permission. OMRON and MIT make no representations
- * about the suitability of this software for any purpose. It is provided
- * "as is" without express or implied warranty.
- *
- * OMRON AND MIT DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL OMRON OR MIT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Seiji Kuwari OMRON Corporation
- * kuwa@omron.co.jp
- * kuwa%omron.co.jp@uunet.uu.net
- */
-
- #ifndef XIMPROTO_H
- #define XIMPROTO_H
-
- #include <X11/Xmd.h>
-
- /*
- * Define constants for the sizes of the network packets. The sz_ prefix is
- * used instead of something more descriptive so that the symbols are no more
- * than 32 characters in length (which causes problems for some compilers).
- */
-
- #define XIM_MAJOR_VERSION 4
- #define XIM_MINOR_VERSION 0
-
- #define sz_ximRequestHeader 4
- #define sz_ximNormalReply 4
-
- #define sz_ximConnClient 4
- #define sz_ximGetIMReq 8
- #define sz_ximGetIMReply 8
- #define sz_ximCreateICReq 4
- #define sz_ximCreateICReply 8
- #define sz_ximChangeICReq 8
- #define sz_ximChangeICReply sz_ximNormalReply
- #define sz_ximGetICReq 12
- #define sz_ximGetICReply sz_ximNormalReply
- #define sz_ximICValuesReq 28
- #define sz_ximICAttributesReq 48
- #define sz_ximDestroyICReq 8
- #define sz_ximICFocusReq 8
- #define sz_ximResetICReq 8
-
- #define sz_ximEventReq 8
- #define sz_ximEventReply 8
- #define sz_ximReturnReply 8
-
- /* For Callback */
- #define sz_ximPreDrawReply 16
- #define sz_ximPreCaretReply 8
- #define sz_ximStatusDrawReply 12
-
- #define Window CARD32
- #define Atom CARD32
- #define Colormap CARD32
- #define Pixmap CARD32
- #define Cursor CARD32
-
- typedef struct { /* 4 */
- CARD8 reqType;
- BYTE pad;
- CARD16 length B16;
- } ximRequestHeader;
-
- typedef struct { /* 4 */
- CARD16 state B16;
- CARD16 detail B16;
- } ximNormalReply;
-
- typedef struct { /* 4 */
- CARD8 byteOrder;
- BYTE pad;
- CARD16 length B16;
- } ximConnClient;
-
- typedef struct { /* 8 */
- CARD8 reqType;
- BYTE pad;
- CARD16 length B16;
- CARD32 mask B32;
- } ximGetIMReq;
-
- typedef struct { /* 8 */
- CARD16 state B16;
- INT16 num_styles B16;
- INT16 nbytes B16;
- CARD16 pad B16;
- } ximGetIMReply;
-
- typedef struct { /* 4 */
- CARD8 reqType;
- BYTE pad;
- CARD16 length B16;
- } ximCreateICReq;
-
- typedef struct { /* 8 */
- CARD16 state B16;
- CARD16 detail B16;
- CARD32 xic B32;
- } ximCreateICReply;
-
- typedef struct { /* 8 */
- CARD8 reqType;
- BYTE pad;
- CARD16 length B16;
- CARD32 xic B32;
- } ximChangeICReq;
-
- typedef ximNormalReply ximChangeICReply;
-
- typedef struct { /* 12 */
- CARD8 reqType;
- BYTE pad;
- CARD16 length B16;
- CARD32 xic B32;
- CARD32 mask B32;
- } ximGetICReq;
-
- typedef ximNormalReply ximGetICReply;
-
- typedef struct { /* 28 */
- CARD32 mask B32;
- INT32 input_style B32;
- Window c_window B32;
- Window focus_window B32;
- CARD32 filter_events B32;
- INT32 max_keycode B32;
- INT16 nbytes B16;
- INT16 nbytes2 B16;
- } ximICValuesReq;
-
- typedef struct { /* 48 */
- INT16 area_x B16, area_y B16;
- CARD16 area_width B16, area_height B16;
- CARD16 areaneeded_width B16, areaneeded_height B16;
- INT16 spot_x B16, spot_y B16;
- Colormap colormap B32;
- Atom std_colormap B32;
- CARD32 foreground B32, background B32;
- Pixmap pixmap B32;
- INT16 line_space B16;
- CARD16 pad1 B16;
- Cursor cursor B32;
- CARD16 nfonts B16;
- INT16 nbytes B16;
- } ximICAttributesReq;
-
- typedef struct { /* 8 */
- CARD8 reqType;
- BYTE pad;
- CARD16 length B16;
- CARD32 xic B32;
- } ximDestroyICReq;
-
- typedef struct { /* 8 */
- CARD8 reqType;
- BYTE pad;
- CARD16 length B16;
- CARD32 xic B32;
- } ximICFocusReq;
-
- typedef struct { /* 8 */
- CARD8 reqType;
- BYTE pad;
- CARD16 length B16;
- CARD32 xic B32;
- } ximResetICReq;
-
- typedef struct { /* 8 */
- CARD8 reqType;
- BYTE pad;
- CARD16 length B16;
- CARD32 xic B32;
- } ximEventReq;
-
- typedef struct { /* 8 */
- CARD16 state B16;
- CARD16 detail B16;
- INT16 number B16;
- CARD16 pad B16;
- } ximEventReply;
-
- typedef struct { /* 8 */
- CARD16 type B16;
- INT16 length B16;
- KeySym keysym B32;
- } ximReturnReply;
-
- /* For Callback */
- typedef struct { /* 16 */
- INT16 caret B16;
- INT16 chg_first B16;
- INT16 chg_length B16;
- INT16 encoding_is_wchar B16;
- INT16 length B16;
- CARD16 pad B16;
- INT32 feedback B32;
- } ximPreDrawReply;
-
- typedef struct { /* 8 */
- INT16 position B16;
- CARD16 direction B16;
- CARD16 style B16;
- CARD16 pad B16;
- } ximPreCaretReply;
-
- typedef struct { /* 12 */
- CARD16 type B16;
- INT16 encoding_is_wchar B16;
- INT16 length B16;
- INT16 feedback B16;
- Pixmap bitmap B32;
- } ximStatusDrawReply;
-
- #define XIM_GetIM 1
- #define XIM_CreateIC 2
- #define XIM_ChangeIC 3
- #define XIM_GetIC 4
- #define XIM_DestroyIC 5
- #define XIM_SetICFocus 6
- #define XIM_UnsetICFocus 7
- #define XIM_ResetIC 8
- #define XIM_Event 9
-
- #define XIM_NOTHING 1
- #define XIM_NOFILTER 2
- #define XIM_RETURN 3
- #define XIM_CALLBACK 4
- #define XIM_IC 5
- #ifdef XML
- #define XIM_CH_LOCALE 6
- #endif /* XML */
-
-
- #define XIM_STRING (short)1
- #define XIM_KEYSYM (short)2
-
- /* For Callback */
- #define XIM_CB_PRE_START 1
- #define XIM_CB_PRE_DONE 2
- #define XIM_CB_PRE_DRAW 3
- #define XIM_CB_PRE_CARET 4
- #define XIM_CB_ST_START 5
- #define XIM_CB_ST_DONE 6
- #define XIM_CB_ST_DRAW 7
-
- #define XIM_CB_FW_CHAR 1
- #define XIM_CB_BW_CHAR 2
- #define XIM_CB_FW_WORD 3
- #define XIM_CB_BW_WORD 4
- #define XIM_CB_CARET_UP 5
- #define XIM_CB_CARET_DOWN 6
- #define XIM_CB_NEXT_LINE 7
- #define XIM_CB_PREV_LINE 8
- #define XIM_CB_LINE_START 9
- #define XIM_CB_LINE_END 10
- #define XIM_CB_ABS_POS 11
- #define XIM_CB_DONT_CHANGE 12
-
- #define XIM_ST_TEXT 1
- #define XIM_ST_BITMAP 2
-
- #undef Window
- #undef Atom
- #undef Colormap
- #undef Pixmap
- #undef Cursor
-
- #define _Read(fd, data, size) read((fd), (data), (size))
- #define _Write(fd, data, size) write((fd), (data), (size))
-
- #endif /* XIMPROTO_H */
-